package com.nd.android.u.filestoragesystem.business.bean;

import org.json.JSONObject;

import com.common.android.utils.parser.BaseType;
import com.nd.android.u.filestoragesystem.externalInterface.IFile;
import com.nd.android.u.filestoragesystem.externalInterface.IInterActionAttr;

/**
 * 文件信息
 * 
 * <br>Created 2014-6-11 下午2:52:49
 * @version  
 * @author   huangszh		
 *
 * @see
 */
public class FileInfo implements BaseType,IFile{
    private static final long serialVersionUID = 1L;
    /** 文件id */
    private long mFid;
    /** 文件夹id */
    private long mFolderid;
    /** 云id */
    private String mCloudid;
    /** 类型：0=个人、1=组织、2=群 3=资源 */
    private int mType;
    /** 用户uid（type=0时）/组织id（type=1时）/群id（type=2时）/资源分类id（type=3时） */
    private long mId;
    /** 应用id */
    private int mAppid;
    /** 文件路径(包括文件名及扩展名) */
    private String mPath;
    /** 整个文件的MD5码 */
    private String mMd5;
    /** 文件MIME */
    private String mMime;
    /** 文件分类：application audio video image text message 根据 MIME 取得 */
    private String mSort;
    /** 文件扩展名(小写) */
    private String mExt;
    /** 文件大小(byte) */
    private long mSize;
    /** 宽度(图片) */
    private int mWidth;
    /** 高度(图片) */
    private int mHeight;
    /** 文件名称(无扩展名) */
    private String mName;
    /** 文件介绍 */
    private JSONObject mInfo;
    /** 点击数 */
    private int mHits;
    /** 时间戳(精确到毫秒) */
    private long mTime;
    /** IP */
    private String mIp;
    /** 地理位置*/
    private String mLocal;
    /** 标识：0=合并中 1=合并完成 */
    private int mFlag;
    /** 互动信息 */
    private IInterActionAttr mInterActionAttr;
    
    @Override
	public long getFid() {
		return mFid;
	}
    
    @Override
	public void setFid(long fid) {
		this.mFid = fid;
	}
    
    @Override
	public long getFolderid() {
		return mFolderid;
	}
    
    @Override
	public void setFolderid(long folderid) {
		this.mFolderid = folderid;
	}
    
    @Override
	public String getCloudid() {
		return mCloudid;
	}
    
    @Override
	public void setCloudid(String cloudid) {
		this.mCloudid = cloudid;
	}
    
    @Override
	public int getType() {
		return mType;
	}
    
    @Override
	public void setType(int type) {
		this.mType = type;
	}
    
    @Override
	public long getId() {
		return mId;
	}
    
    @Override
	public void setId(long id) {
		this.mId = id;
	}
    
    @Override
	public int getAppid() {
		return mAppid;
	}
    
    @Override
	public void setAppid(int appid) {
		this.mAppid = appid;
	}
    
    @Override
	public String getPath() {
		return mPath;
	}
    
    @Override
	public void setPath(String path) {
		this.mPath = path;
	}
    
    @Override
	public String getMd5() {
		return mMd5;
	}
    
    @Override
	public void setMd5(String md5) {
		this.mMd5 = md5;
	}
    
    @Override
	public String getMime() {
		return mMime;
	}
    
    @Override
	public void setMime(String mime) {
		this.mMime = mime;
	}
    
    @Override
	public String getSort() {
		return mSort;
	}
    
    @Override
	public void setSort(String sort) {
		this.mSort = sort;
	}
    
    @Override
	public String getExt() {
		return mExt;
	}
    
    @Override
	public void setExt(String ext) {
		this.mExt = ext;
	}
    
    @Override
	public long getSize() {
		return mSize;
	}
    
    @Override
	public void setSize(long size) {
		this.mSize = size;
	}
    
    @Override
	public int getWidth() {
		return mWidth;
	}
    
    @Override
	public void setWidth(int width) {
		this.mWidth = width;
	}
    
    @Override
	public int getHeight() {
		return mHeight;
	}
    
    @Override
	public void setHeight(int height) {
		this.mHeight = height;
	}
    
    @Override
	public String getName() {
		return mName;
	}
    
    @Override
	public void setName(String name) {
		this.mName = name;
	}
    
    @Override
	public JSONObject getInfo() {
		return mInfo;
	}
    
    @Override
	public void setInfo(JSONObject info) {
		this.mInfo = info;
	}
    
    @Override
	public int getHits() {
		return mHits;
	}
    
    @Override
	public void setHits(int hits) {
		this.mHits = hits;
	}
    
    @Override
	public long getTime() {
		return mTime;
	}
    
    @Override
	public void setTime(long time) {
		this.mTime = time;
	}
    
    @Override
	public String getIp() {
		return mIp;
	}
    
    @Override
	public void setIp(String ip) {
		this.mIp = ip;
	}
    
    @Override
	public String getLocal() {
		return mLocal;
	}
    
    @Override
	public void setLocal(String local) {
		this.mLocal = local;
	}
    
    @Override
	public int getFlag() {
		return mFlag;
	}
    
    @Override
	public void setFlag(int flag) {
		this.mFlag = flag;
	}

    @Override
    public void setInterActionAttr(IInterActionAttr attr) {
        mInterActionAttr = attr;
    }

    @Override
    public IInterActionAttr getInterActionAttr() {
        
        return mInterActionAttr;
    }
    
}
